Skip to content

Fix selective rerip cycles and prefer caller-owned routes - #172

Merged
seveibar merged 6 commits into
agent/bugreport87-portpoint-reprofrom
fix/preload-preservation-on-current-pin
Aug 21, 2026
Merged

Fix selective rerip cycles and prefer caller-owned routes#172
seveibar merged 6 commits into
agent/bugreport87-portpoint-reprofrom
fix/preload-preservation-on-current-pin

Conversation

@seveibar

@seveibar seveibar commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Stacked on #167, the focused bugreport87 reproduction.

  • detect repeated selective-rerip owner dependency cycles and escalate to the global rerip path
  • retain trace-density region-cost support used by the autorouter's current tiny-hypergraph pin
  • add an overridable preservation-preference hook for partial rerips
  • try non-preferred blocker owners first during selective completion rerips
  • rerip a preferred/caller-owned route when it is the only blocker
  • locally rerip preferred-only hot sets instead of falling into an expensive global rerip

This combines the solver fix from #168 with the preload-preservation work originally proposed here, so the autorouter dependency has one ready landing PR after #167. It supersedes #168 for landing.

The preservation behavior is a preference, not an immutable-route switch: caller-owned/preloaded routes remain movable when routing cannot otherwise complete.

Validation

  • bun test (125 pass)
  • bun run typecheck
  • bun run format:check
  • bun run build
  • git diff --check

The exact head is pinned and benchmarked by tscircuit/tscircuit-autorouter#2185.

@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tiny-hypergraph Ready Ready Preview Aug 21, 2026 7:34am

Request Review

@tscircuitbot

Copy link
Copy Markdown

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark --dataset <hg07|srj18> --limit <n> --solver <core|poly> --families <default|default+deep|all> --concurrency <n|auto>

Everything after /benchmark is forwarded directly to ./benchmark.sh.
Every command runs current main and the PR head sequentially on the same Blacksmith machine, then reports their results side by side.

Examples:

  • /benchmark -> all committed completed SRJ18 Pipeline7 cases, core solver
  • /benchmark --limit 4 -> first four committed Pipeline7 cases
  • /benchmark --dataset srj18 --concurrency auto -> srj18 samples with runner CPU-count concurrency
  • /benchmark --sample sample003 -> one committed SRJ18 Pipeline7 case
  • /benchmark --dataset hg07 --limit 20 --solver poly -> first 20 hg07 samples with the poly solver
  • /benchmark --dataset hg07 --limit 40 --families default+deep -> first 40 hg07 samples with deeper candidate families

Any PR whose title contains [BENCHMARK TEST] will automatically run the benchmark workflow on PR updates.

@seveibar
seveibar marked this pull request as ready for review August 21, 2026 11:45
@seveibar seveibar changed the title Prefer caller-owned routes during rerip on the autorouter pin Fix selective rerip cycles and prefer caller-owned routes Aug 21, 2026
@seveibar
seveibar changed the base branch from agent/fix-repeated-owner-rerip-cycle to agent/bugreport87-portpoint-repro August 21, 2026 11:49
@seveibar
seveibar merged commit 7e17d52 into agent/bugreport87-portpoint-repro Aug 21, 2026
6 checks passed
@tscircuitbot

Copy link
Copy Markdown

Thank you for your contribution! 🎉

PR Rating: ⭐⭐⭐
Impact: Major

Track your contributions and see the leaderboard at: tscircuit Contribution Tracker


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants